<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Source: common/Layouter.js</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Source: common/Layouter.js</h1>

    



    
    <section>
        <article>
            <pre class="prettyprint source linenums"><code>/**
 * Created by seeker910 on 13-12-31.
 */
/*
 layouter 所用到的数据全部来自对象本身属性，不是dom对象数据。
 * */
Rsd.define("Rsd.common.Layouter", {
    extend:'Rsd.common.Object',
    singleton:true,
    xtype: 'layouter',
    constructor: function Layouter () {

    },
    /**
     * @description 处理 dom对象
     * @description 设置位置相关属性：width、height、margin...以及自定义style，display=none 不参与布局
     * */
    layout: function layout(obj) {

        //监控 layout 执行次数
        //console.trace('in layouter',obj.id,obj.width);

        if (Rsd.isCreated(obj) == false) {
            return;
        }

        if (obj.isHidden()) {
            return;
        }

        if (obj.dom == null) {
            return;
        }
        var _sizeUnit = obj.sizeUnit||'px';
        //sytle样式 在属性中控制 布局后的 样式发生改变
        var _element = obj.style.element;
        if(obj.style.element)
        {
            delete obj.style.element;
        }
        
        obj.setElStyle(_element||obj.dom,obj.style,_sizeUnit);
        if(_element)
        {
            obj.style.element = _element;
        }

        //设置 高度 宽度 属性，单独控制
        var _domStyle = {};
        if (!Rsd.isUndefined(obj.width)) {
            _domStyle.width = obj.width;
        }

        if (!Rsd.isUndefined(obj.height) ) {
            _domStyle.height = obj.height;
        }
        if (!Rsd.isUndefined(obj.flex) ) {
            _domStyle.flex = obj.flex;
        }
        obj.setElStyle(obj.dom,_domStyle,_sizeUnit);

        var _names = ['top', 'right', 'bottom', 'left'];
        var _margin = obj.margin;
        obj.margin ={ top: 0, right: 0, bottom: 0, left: 0 };

        if (_margin) {

            var _ms;
            if (Rsd.getType(_margin) == '[object String]') {
                _ms = _margin.split(' ');
                 
                for (var i in _ms) {
                    if ( Rsd.isNumber(Number(_ms[i]))) {
                        obj.margin[_names[i]] = _ms[i] + _sizeUnit;
                    }
                    else {
                        obj.margin[_names[i]] = _ms[i];
                    }
                }
            }
            if (Rsd.getType(_margin) == '[object Array]') {
                _ms = _margin;

                for (var i in _ms) {
                    if ( Rsd.isNumber(Number(_ms[i]))) {
                        obj.margin[_names[i]] = _ms[i] + _sizeUnit;
                    }
                    else {
                        obj.margin[_names[i]] = _ms[i];
                    }
                }
            }
            if (Rsd.getType(_margin) == '[object Object]') {
                _ms = _margin;
                for (var i in _ms) {
                    if (Rsd.isNumber(Number(_ms[i]))) {
                        obj.margin[i] = _ms[i] + _sizeUnit;
                    }
                    else {
                        obj.margin[i] = _ms[i];
                    }
                }
            }
        }

        obj.dom.style.marginTop = obj.margin.top;
        obj.dom.style.marginRight = obj.margin.right;
        obj.dom.style.marginBottom = obj.margin.bottom;
        obj.dom.style.marginLeft = obj.margin.left;

        //debugger;
        var me = this;  
        setTimeout(function () {
            me.layoutContent(obj.header || obj.label, obj.body || obj.ctrl,obj.sizeUnit);
            if(obj.__blockOpacity !==true)
            {
                obj.dom.style.opacity = null;//不能在 show 方法中设置该值，不是所有的控件都会调用 show方法
            }
            
        },0);

    },
    /**
     *  
     *  @description 布局子控件 ，layoutBorder,layoutVbox,layoutHbox,layoutFit,layoutAuto
     * */
    layoutItems:function layoutItems(obj){
        //debugger;
        if (obj.items &amp;&amp; Rsd.getType(obj.items) == '[object Array]' &amp;&amp; obj.items.length > 0) {

            switch (obj.layout.type.toLowerCase()) {
                case 'border':
                    this.layoutBorder(obj);
                    break;
                case 'vbox':
                    this.layoutVbox(obj);
                    break;
                case 'hbox':
                    this.layoutHbox(obj);
                    break;
                case 'fit':
                    this.layoutFit(obj);
                    break;
                    case 'auto':
                    this.layoutAuto(obj);
                    break;
                default:
                    throw new Error('Object id\'s [' + obj.id+ '] layout value is unknown value [' + obj.layout.type + '] in class ' + obj.$className + '.');
                    break;
            }

        }
    },
    /**
     * 边框布局:以上下左右为起点布局控件
     * 容器：高度和宽度固定
     * 子控件：高度固定，宽度固定 
     * region:top,bottom,left,right,center
     * */
    layoutBorder:function layoutBorder(obj){
        //debugger;
        if(obj.layout.type != 'border')
        {
            return;
        }
        obj.addCls('body','x-layout-border');
        var _item;
        var _i_margins = [0, 0, 0, 0];
        var _sizeUnit = obj.sizeUnit||'px';
        for (var i=0; i&lt; obj.items.length ;i++) {
            _item = obj.items[i]; 
            if(!_item)
            {
                throw new Error('items['+i+'] is null in object '+ obj.id + '.');
            }
            if(!Rsd.isObject(_item))
            {
                throw new Error('items['+i+'] is not a object in object '+ obj.id + '.');
            }
            if(!(_item instanceof  Rsd.common.ComponentX))
            {
                continue;
            }
            if(_item.floating || _item.fixed)
            {
                continue;
            }

            switch (_item.region) {
                case 'top':
                case 'north':
                    _item.addCls('dom','x-layout-border-north');
                    var _position = {};
                    _position.top = _i_margins[0] + _sizeUnit;
                    _position.right = _i_margins[1] + _sizeUnit;
                    _position.bottom = null;
                    _position.left = _i_margins[3] + _sizeUnit;
                    _item.setPosition(_position);
                    if (!_item.height) {
                        continue;
                    }

                    if (typeof (_item.height) == 'string' &amp;&amp; parseInt(_item.height)) {
                        _i_margins[0] += parseInt(_item.height);
                    }else
                    {
                        _i_margins[0] += _item.height;
                    }
                    break;
                case 'right':
                case 'east':
                    _item.addCls('dom','x-layout-border-east');
                    var _position = {};
                    _position.top = _i_margins[0] + _sizeUnit;
                    _position.right = _i_margins[1] + _sizeUnit;
                    _position.bottom = _i_margins[2] + _sizeUnit;
                    _position.left = null;
                    _item.setPosition(_position);
                    if (!_item.width) {
                        continue;
                    }

                    if (typeof (_item.width) == 'string' &amp;&amp; parseInt(_item.width)) {
                        _i_margins[1] += parseInt(_item.width);
                    }else {
                        _i_margins[1] += _item.width;
                    }

                    break;
                case 'bottom':
                case 'south':
                    _item.addCls('dom','x-layout-border-south');
                    var _position = {};
                    _position.top = null;
                    _position.right = _i_margins[1] + _sizeUnit;
                    _position.bottom = _i_margins[2] + _sizeUnit;
                    _position.left = _i_margins[3] + _sizeUnit;
                    _item.setPosition(_position);
                    if (!_item.height) {
                        continue;
                    }

                    if (typeof (_item.height) == 'string' &amp;&amp; parseInt(_item.height))
                     {
                        _i_margins[2] +=  parseInt(_item.height);
                    }
                    else 
                    {
                        _i_margins[2] += _item.height;
                    }

                    break;
                case 'left':
                case 'west':
                    _item.addCls('dom','x-layout-border-west');
                    var _position = {};
                    _position.top = _i_margins[0]+ _sizeUnit;
                    _position.right = null;
                    _position.bottom = _i_margins[2]+ _sizeUnit;
                    _position.left = _i_margins[3]+ _sizeUnit;
                    _item.setPosition(_position);
                    if (!_item.width) {
                        continue;
                    }

                    if (typeof (_item.width) == 'string' &amp;&amp; parseInt(_item.width)) {
                        _i_margins[3] += parseInt(_item.width);
                    }
                    else
                    {
                        _i_margins[3] += _item.width;
                    }

                    break;
                case 'center':
                    _item.width = 'auto';
                    _item.height = 'auto';
                    break;
                default:
                    throw new Error('Property region(top/north,right/east,bottom/south,left/west,center) of component['+ _item.$className +'] is unknown value ['+_item.region+'] in '+ obj.$className +'.');
                    break;
            }


        }

        for (var i=0; i&lt; obj.items.length ;i++) {
            _item = obj.items[i];
            if(!(_item instanceof  Rsd.common.ComponentX))
            {
                continue;
            }
            if(_item.floating || _item.fixed)
            {
                continue;
            }
            switch (_item.region) {
                case 'center':
                    _item.width = null;
                    _item.height = null;
                    _item.addCls('dom','x-layout-border-center');
                    var _position = {};
                    _position.top = _i_margins[0] + _sizeUnit;
                    _position.right = _i_margins[1] + _sizeUnit;
                    _position.bottom = _i_margins[2] + _sizeUnit;
                    _position.left = _i_margins[3] + _sizeUnit;

                    _item.setPosition(_position);

                    if(_i_margins[0]==0 &amp;&amp; _i_margins[2]==0)
                    {
                        //_item.height = '100%';
                    }

                    if(_i_margins[1]==0 &amp;&amp; _i_margins[3]==0) {

                        //_item.width = '100%';
                    }
                    break;
                default:
                    break;
            }
        }

    },
    /**
     * 流式布局：单列多行
     * 容器：高度和宽度固定，
     * 子控件：高度不固，宽度固定 
     * display:flex ,flex-direction:column; 一列多行布局
     * */
    layoutVbox:function layoutVbox(obj){

        if(obj.layout.type != 'vbox')
        {
            return;
        }
        switch (obj.layout.align)
        {
            case 'left':
                obj.addCls('body','x-layout-vbox-left');
                break;
            case 'right':
                obj.addCls('body','x-layout-vbox-right');
                break;
            case 'top':
                obj.addCls('body','x-layout-vbox-top');
                break;
            case 'bottom':
                obj.addCls('body','x-layout-vbox-bottom');
                break;
            case 'center':
                obj.addCls('body','x-layout-vbox-center');
                break;
            default :
                throw new Error('Property align of layout is unknown value ['+_item.align || obj.layout.align+'].');
                break;
        }
    },
    /**
     * 流式布局：单行多列
     * 容器：高度和宽度固定，
     * 子控件：高度固定，宽度不固定 
     * display:flex ,flex-direction:row; 一行多列布局
     * */
    layoutHbox:function layoutHbox(obj){
        if(obj.layout.type != 'hbox')
        {
            return;
        }
        switch (obj.layout.align)
        {
                case 'left':
                    obj.addCls('body','x-layout-hbox-left');
                    break;
                case 'right':
                    obj.addCls('body','x-layout-hbox-right');
                    break;
                case  'top':
                    obj.addCls('body','x-layout-hbox-top');
                case 'bottom':
                    obj.addCls('body','x-layout-hbox-bottom');
                    break;
                case 'center':
                    obj.addCls('body','x-layout-hbox-center');
                    break;
                default :
                    throw new Error('Property align(left,right,top,bottom,center) of layout is unknown value ['+_item.align || obj.layout.align+'].');
                    break;
        }
        
    },
    /***
     * 自适应布局：只有一个子控件，子控件填满整个父控件，随父控件大小变化而变化。
     * 如果有多个控件，只显示第一个子控件
     */
    layoutFit:function layoutFit(obj)
    {
        if(obj.layout.type != 'fit')
        {
            return;
        } 
        obj.addCls('body','x-layout-fit');
        
        var _align = obj.layout.align;
        var  _item; 
        for (var i=0; i&lt; obj.items.length ;i++) {
            _item = obj.items[i];
            if(_item.floating || _item.fixed)
            {
                continue;
            } 
            switch (_align)
            {
                case 'center':
                    _item.addCls('dom','x-layout-fit-center');
                    break;
                case 'left':
                    _item.addCls('dom','x-layout-fit-left');
                    break;
                case 'right':
                    _item.addCls('dom','x-layout-fit-right');
                    break;
                case  'top':
                    _item.addCls('dom','x-layout-fit-top');
                    break;
                case  'bottom':
                    _item.addCls('dom','x-layout-fit-bottom');
                    break;
                default :
                    throw new Error('Property align of layout is unknown value ['+_align+'].');
                    break;
            }  
        } 

    },
    /** 
     * 流式布局：多行多列  
     * 容器：高度和宽度固定，
     * 子控件：高度不固定，宽度不固定
     * 
     * */
    layoutAuto:function layoutAuto(obj){
        if(obj.layout.type != 'auto')
        {
            return;
        } 
        obj.addCls('body','x-layout-auto');
        
        var _align = obj.layout.align;
        var  _item;
        for (var i=0; i&lt; obj.items.length ;i++) {
            _item = obj.items[i];
            if(_item.floating || _item.fixed)
            {
                continue;
            }
           
            switch (_align)
            {
                case 'center':
                    _item.addCls('dom','x-layout-auto-center');
                    break;
                case 'left':
                    _item.addCls('dom','x-layout-auto-left');
                    break;
                case 'right':
                    _item.addCls('dom','x-layout-auto-right');
                    break;
                case  'top':
                    _item.addCls('dom','x-layout-auto-top');
                    break;
                case  'bottom':
                    _item.addCls('dom','x-layout-auto-bottom');
                    break;
                default :
                    throw new Error('Property align of layout is unknown value ['+_align+'].');
                    break;
            } 
        }
    },

    /** 
     * @description 布局 header(label),body(ctrl)
     * */ 
    layoutContent: function layoutContent(header,body,sizeUnit) {

         
        var _h_element = header &amp;&amp; header.element;
        var _body_element = body &amp;&amp; body.element;
    
        var _position = header &amp;&amp; header.position||'top';
        var _space =  parseInt(header &amp;&amp; header.space)||0;

        var _sizeUnit = sizeUnit||'px';
        //在存在 label 或 header 时 ，设置body ,ctrl 样式
        if(_body_element &amp;&amp; _h_element)
        {
            _body_element.style.flexGrow = 1;
            _body_element.style.flexShrink = 1;
            _body_element.style.flexBasis ='0%';
                
            //调整间隔
            switch (_position.toLowerCase()) {
                case 'top':
                    {
                        //_body_element.style.alignSelf = 'center';
                        _body_element.style.marginTop =  _space + 'px' ;
                    } 
                    break;
                case 'bottom':
                    {
                        //_body_element.style.alignSelf = 'center';
                        _body_element.style.marginBottom =  _space + 'px' ;
                    } 
                    break;
                case 'left':
                    { 
                        _body_element.style.alignSelf = 'center';
                        _body_element.style.marginLeft =  _space+ 'px';
                    }
                        break;
                case 'right':
                    {
                        _body_element.style.alignSelf = 'center';
                        _body_element.style.marginRight =  _space + 'px' ;
                    }
                    break
                default:
                    throw new Error('Property position of header or label is unknown value ['+header.position+'].');
                     
            }
            
        } 
        //设置  label 或 header 样式
        if (_h_element) {

            var _h_style =  header.style || {};
            Rsd.setElStyle(_h_element,_h_style,_sizeUnit);
 
            switch (_position.toLowerCase()) {
                case 'top':
                    {
                        _h_element.style.width = '100%';
                        _h_element.style.textAlign = header.align || 'center';
                        _h_element.style.height = header.height == null ? 'auto' :(Rsd.isNumber(Number(header.height))?(header.height + _sizeUnit):header.height);
                       
                    } 
                    break;
                case 'bottom':
                    {
                        _h_element.style.width = '100%';
                        _h_element.style.textAlign = header.align || 'center';
                        _h_element.style.height = header.height == null ? 'auto' :(Rsd.isNumber(Number(header.height)) ? ( header.height + _sizeUnit):header.height);
                   
                    } 
                    break;
                case 'left':
                    { 
                        _h_element.style.textAlign = header.align || 'right';
                        _h_element.style.height = '100%';
                        _h_element.style.width = header.width == null ? 'auto' : ( Rsd.isNumber(Number(header.width)) ? ( header.width + _sizeUnit):header.width);
                  
                    }
                    break;
                case 'right':
                    {
                        //debugger; 
                        _h_element.style.textAlign = header.align || 'left';  
                        _h_element.style.height = '100%';
                        _h_element.style.width = header.width == null ? 'auto' : (Rsd.isNumber(Number(header.width)) ? ( header.width + _sizeUnit):header.width);
                
                    }
                    break
                default:
                    throw new Error('Property position of header or label is unknown value ['+header.position+'].');
                    break;
            }

            //行高处理
            if(header.lineHeight)
            {
                _h_element.style.lineHeight = header.lineHeight  + _sizeUnit;
            }
            else
            {
                _h_element.style.lineHeight = _h_element.clientHeight?(_h_element.clientHeight + _sizeUnit):'unset';
                
            }

            if(header.content instanceof  Rsd.common.ComponentX)
            {
                header.content.doLayout(); 
            }
        }

        if(body &amp;&amp; body.style)
        {
            Rsd.setElStyle(_body_element,body.style,_sizeUnit);
        }
       

    }
});
</code></pre>
        </article>
    </section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Rsd">Rsd</a></li><li><a href="Rsd.common.html">common</a></li><li><a href="Rsd.container.html">container</a></li><li><a href="Rsd.control.html">control</a></li><li><a href="Rsd.data.html">data</a></li><li><a href="Rsd.template.html">template</a></li><li><a href="Rsd.widget.html">widget</a></li></ul><h3>Classes</h3><ul><li><a href="Redjs.html">Redjs</a></li><li><a href="Rsd.data.Ajax.html">Ajax</a></li><li><a href="Rsd.data.ModelSchema.html">ModelSchema</a></li><li><a href="Rsd.data.Service.html">Service</a></li><li><a href="window.Rsd.LogApi.html">LogApi</a></li></ul><h3>Global</h3><ul><li><a href="global.html#gbkToUTF8">gbkToUTF8</a></li><li><a href="global.html#mmToPx">mmToPx</a></li><li><a href="global.html#pxToMm">pxToMm</a></li><li><a href="global.html#unicodeToUTF8">unicodeToUTF8</a></li><li><a href="global.html#_btn_preview">_btn_preview</a></li><li><a href="global.html#_btn_save">_btn_save</a></li><li><a href="global.html#_imageItemDblClick">_imageItemDblClick</a></li><li><a href="global.html#accept">accept</a></li><li><a href="global.html#add">add</a></li><li><a href="global.html#addCls">addCls</a></li><li><a href="global.html#addControl">addControl</a></li><li><a href="global.html#addCookie">addCookie</a></li><li><a href="global.html#addItem">addItem</a></li><li><a href="global.html#addNode">addNode</a></li><li><a href="global.html#addObject">addObject</a></li><li><a href="global.html#addService">addService</a></li><li><a href="global.html#addTotalRow">addTotalRow</a></li><li><a href="global.html#addTreeNode">addTreeNode</a></li><li><a href="global.html#afterClose">afterClose</a></li><li><a href="global.html#afterShow">afterShow</a></li><li><a href="global.html#albumsItemDblClick">albumsItemDblClick</a></li><li><a href="global.html#albumsItemViewDetail">albumsItemViewDetail</a></li><li><a href="global.html#allFields">allFields</a></li><li><a href="global.html#alwaysWrap">alwaysWrap</a></li><li><a href="global.html#animate">animate</a></li><li><a href="global.html#appId">appId</a></li><li><a href="global.html#app_afterLayout">app_afterLayout</a></li><li><a href="global.html#apply">apply</a></li><li><a href="global.html#arrayConcat">arrayConcat</a></li><li><a href="global.html#authCode">authCode</a></li><li><a href="global.html#authorization">authorization</a></li><li><a href="global.html#autoCompleteHandler">autoCompleteHandler</a></li><li><a href="global.html#autoExpanded">autoExpanded</a></li><li><a href="global.html#autoLoad">autoLoad</a></li><li><a href="global.html#autoScrollIntoView">autoScrollIntoView</a></li><li><a href="global.html#backgroundImage">backgroundImage</a></li><li><a href="global.html#beforeClose">beforeClose</a></li><li><a href="global.html#beforeShow">beforeShow</a></li><li><a href="global.html#bgColors">bgColors</a></li><li><a href="global.html#bindEvent">bindEvent</a></li><li><a href="global.html#blankspan">blankspan</a></li><li><a href="global.html#block">block</a></li><li><a href="global.html#border">border</a></li><li><a href="global.html#btn_add">btn_add</a></li><li><a href="global.html#btn_add_albums">btn_add_albums</a></li><li><a href="global.html#btn_close">btn_close</a></li><li><a href="global.html#btn_new_image">btn_new_image</a></li><li><a href="global.html#btn_preview">btn_preview</a></li><li><a href="global.html#btn_publish">btn_publish</a></li><li><a href="global.html#btn_refesh_ds">btn_refesh_ds</a></li><li><a href="global.html#btn_refresh">btn_refresh</a></li><li><a href="global.html#btn_reset">btn_reset</a></li><li><a href="global.html#btn_save">btn_save</a></li><li><a href="global.html#btn_save_and_publish">btn_save_and_publish</a></li><li><a href="global.html#btn_share">btn_share</a></li><li><a href="global.html#btn_show_selector">btn_show_selector</a></li><li><a href="global.html#build">build</a></li><li><a href="global.html#buildColumns">buildColumns</a></li><li><a href="global.html#buildRows">buildRows</a></li><li><a href="global.html#buildTree">buildTree</a></li><li><a href="global.html#button">button</a></li><li><a href="global.html#callFunction">callFunction</a></li><li><a href="global.html#changeCls">changeCls</a></li><li><a href="global.html#checkRecord">checkRecord</a></li><li><a href="global.html#checkSessionServiceName">checkSessionServiceName</a></li><li><a href="global.html#checkToken">checkToken</a></li><li><a href="global.html#checkValue">checkValue</a></li><li><a href="global.html#checkbox">checkbox</a></li><li><a href="global.html#circle">circle</a></li><li><a href="global.html#clear">clear</a></li><li><a href="global.html#clearHotKey">clearHotKey</a></li><li><a href="global.html#clearLocal">clearLocal</a></li><li><a href="global.html#clearSelected">clearSelected</a></li><li><a href="global.html#clearSession">clearSession</a></li><li><a href="global.html#clone">clone</a></li><li><a href="global.html#close">close</a></li><li><a href="global.html#closeBtn">closeBtn</a></li><li><a href="global.html#closeDB">closeDB</a></li><li><a href="global.html#closeDropdownBox">closeDropdownBox</a></li><li><a href="global.html#closeLoading">closeLoading</a></li><li><a href="global.html#closeWaiting">closeWaiting</a></li><li><a href="global.html#codeMember">codeMember</a></li><li><a href="global.html#collapseAll">collapseAll</a></li><li><a href="global.html#colorMember">colorMember</a></li><li><a href="global.html#compile">compile</a></li><li><a href="global.html#compress">compress</a></li><li><a href="global.html#constructor">constructor</a></li><li><a href="global.html#contain">contain</a></li><li><a href="global.html#containCls">containCls</a></li><li><a href="global.html#copy">copy</a></li><li><a href="global.html#createInnerControl">createInnerControl</a></li><li><a href="global.html#crossDomain">crossDomain</a></li><li><a href="global.html#currentIndex">currentIndex</a></li><li><a href="global.html#data">data</a></li><li><a href="global.html#dataSource">dataSource</a></li><li><a href="global.html#dataStore">dataStore</a></li><li><a href="global.html#dataType">dataType</a></li><li><a href="global.html#daysStyle">daysStyle</a></li><li><a href="global.html#debug">debug</a></li><li><a href="global.html#decodeURI">decodeURI</a></li><li><a href="global.html#defineEnums">defineEnums</a></li><li><a href="global.html#defineRem">defineRem</a></li><li><a href="global.html#delay">delay</a></li><li><a href="global.html#deleteCookie">deleteCookie</a></li><li><a href="global.html#deleteDB">deleteDB</a></li><li><a href="global.html#deleteObject">deleteObject</a></li><li><a href="global.html#deleteRow">deleteRow</a></li><li><a href="global.html#deleteService">deleteService</a></li><li><a href="global.html#detectNavigator">detectNavigator</a></li><li><a href="global.html#detectOS">detectOS</a></li><li><a href="global.html#doLayout">doLayout</a></li><li><a href="global.html#doc">doc</a></li><li><a href="global.html#domTagName">domTagName</a></li><li><a href="global.html#download">download</a></li><li><a href="global.html#draggable">draggable</a></li><li><a href="global.html#drawCaption">drawCaption</a></li><li><a href="global.html#drawImage">drawImage</a></li><li><a href="global.html#drawList">drawList</a></li><li><a href="global.html#dsSchema">dsSchema</a></li><li><a href="global.html#dstype_change">dstype_change</a></li><li><a href="global.html#dynamic">dynamic</a></li><li><a href="global.html#edit">edit</a></li><li><a href="global.html#editRow">editRow</a></li><li><a href="global.html#empty">empty</a></li><li><a href="global.html#emptyImage">emptyImage</a></li><li><a href="global.html#encodeURI">encodeURI</a></li><li><a href="global.html#enumLabel">enumLabel</a></li><li><a href="global.html#enumText">enumText</a></li><li><a href="global.html#error">error</a></li><li><a href="global.html#exchange">exchange</a></li><li><a href="global.html#exeHotKeyFun">exeHotKeyFun</a></li><li><a href="global.html#expandAll">expandAll</a></li><li><a href="global.html#export">export</a></li><li><a href="global.html#fieldWidth">fieldWidth</a></li><li><a href="global.html#file">file</a></li><li><a href="global.html#fileDownloadServiceName">fileDownloadServiceName</a></li><li><a href="global.html#fileUploadServiceName">fileUploadServiceName</a></li><li><a href="global.html#findNode">findNode</a></li><li><a href="global.html#findObject">findObject</a></li><li><a href="global.html#findService">findService</a></li><li><a href="global.html#fire">fire</a></li><li><a href="global.html#fireResize">fireResize</a></li><li><a href="global.html#firstPage">firstPage</a></li><li><a href="global.html#fixed">fixed</a></li><li><a href="global.html#floating">floating</a></li><li><a href="global.html#formatApi">formatApi</a></li><li><a href="global.html#formatCurrency">formatCurrency</a></li><li><a href="global.html#formatCurrencyCN">formatCurrencyCN</a></li><li><a href="global.html#formatJson">formatJson</a></li><li><a href="global.html#formatLabels">formatLabels</a></li><li><a href="global.html#formatNumber">formatNumber</a></li><li><a href="global.html#formatString">formatString</a></li><li><a href="global.html#formatTimestamp">formatTimestamp</a></li><li><a href="global.html#from">from</a></li><li><a href="global.html#fullScreen">fullScreen</a></li><li><a href="global.html#funApplyByIOC">funApplyByIOC</a></li><li><a href="global.html#funBindByIOC">funBindByIOC</a></li><li><a href="global.html#get">get</a></li><li><a href="global.html#getApp">getApp</a></li><li><a href="global.html#getAppAuthorization">getAppAuthorization</a></li><li><a href="global.html#getAppConfig">getAppConfig</a></li><li><a href="global.html#getAppId">getAppId</a></li><li><a href="global.html#getAppToken">getAppToken</a></li><li><a href="global.html#getByteLength">getByteLength</a></li><li><a href="global.html#getCheckedNodes">getCheckedNodes</a></li><li><a href="global.html#getColumns">getColumns</a></li><li><a href="global.html#getControl">getControl</a></li><li><a href="global.html#getControlConfig">getControlConfig</a></li><li><a href="global.html#getCookie">getCookie</a></li><li><a href="global.html#getDPI">getDPI</a></li><li><a href="global.html#getData">getData</a></li><li><a href="global.html#getDocConfig">getDocConfig</a></li><li><a href="global.html#getDocument">getDocument</a></li><li><a href="global.html#getDom">getDom</a></li><li><a href="global.html#getElAttribute">getElAttribute</a></li><li><a href="global.html#getFieldValue">getFieldValue</a></li><li><a href="global.html#getFields">getFields</a></li><li><a href="global.html#getFile">getFile</a></li><li><a href="global.html#getFileName">getFileName</a></li><li><a href="global.html#getFormData">getFormData</a></li><li><a href="global.html#getFunctionName">getFunctionName</a></li><li><a href="global.html#getGlobalVariable">getGlobalVariable</a></li><li><a href="global.html#getHeight">getHeight</a></li><li><a href="global.html#getItem">getItem</a></li><li><a href="global.html#getItemById">getItemById</a></li><li><a href="global.html#getItemByName">getItemByName</a></li><li><a href="global.html#getItemByXtype">getItemByXtype</a></li><li><a href="global.html#getJsonSchema">getJsonSchema</a></li><li><a href="global.html#getKeyValue">getKeyValue</a></li><li><a href="global.html#getObjectByIndex">getObjectByIndex</a></li><li><a href="global.html#getObjectByKey">getObjectByKey</a></li><li><a href="global.html#getPaging">getPaging</a></li><li><a href="global.html#getPlugin">getPlugin</a></li><li><a href="global.html#getRecord">getRecord</a></li><li><a href="global.html#getRedjsHost">getRedjsHost</a></li><li><a href="global.html#getRedjsUrl">getRedjsUrl</a></li><li><a href="global.html#getRowData">getRowData</a></li><li><a href="global.html#getSchema">getSchema</a></li><li><a href="global.html#getSchemaList">getSchemaList</a></li><li><a href="global.html#getScrollHeight">getScrollHeight</a></li><li><a href="global.html#getSelectedNodes">getSelectedNodes</a></li><li><a href="global.html#getService">getService</a></li><li><a href="global.html#getStringWidth">getStringWidth</a></li><li><a href="global.html#getText">getText</a></li><li><a href="global.html#getTouched">getTouched</a></li><li><a href="global.html#getType">getType</a></li><li><a href="global.html#getUrlParam">getUrlParam</a></li><li><a href="global.html#getUserAgent">getUserAgent</a></li><li><a href="global.html#getValue">getValue</a></li><li><a href="global.html#getValueItem">getValueItem</a></li><li><a href="global.html#getView">getView</a></li><li><a href="global.html#getWhere">getWhere</a></li><li><a href="global.html#getWidth">getWidth</a></li><li><a href="global.html#getXhr">getXhr</a></li><li><a href="global.html#getZIndex">getZIndex</a></li><li><a href="global.html#globalVariables">globalVariables</a></li><li><a href="global.html#goTo">goTo</a></li><li><a href="global.html#gridColumns">gridColumns</a></li><li><a href="global.html#handleEvent">handleEvent</a></li><li><a href="global.html#handleUploadEvent">handleUploadEvent</a></li><li><a href="global.html#hasProperty">hasProperty</a></li><li><a href="global.html#hidden">hidden</a></li><li><a href="global.html#hide">hide</a></li><li><a href="global.html#httpGet">httpGet</a></li><li><a href="global.html#httpPost">httpPost</a></li><li><a href="global.html#httpRequest">httpRequest</a></li><li><a href="global.html#iframe_load">iframe_load</a></li><li><a href="global.html#imageDblClick">imageDblClick</a></li><li><a href="global.html#images">images</a></li><li><a href="global.html#indexEditServiceName">indexEditServiceName</a></li><li><a href="global.html#indexLoadServiceName">indexLoadServiceName</a></li><li><a href="global.html#info">info</a></li><li><a href="global.html#init">init</a></li><li><a href="global.html#initComponent">initComponent</a></li><li><a href="global.html#initComponentEx">initComponentEx</a></li><li><a href="global.html#initDropdownBox">initDropdownBox</a></li><li><a href="global.html#initImage">initImage</a></li><li><a href="global.html#insertItem">insertItem</a></li><li><a href="global.html#insertObject">insertObject</a></li><li><a href="global.html#insertService">insertService</a></li><li><a href="global.html#inset">inset</a></li><li><a href="global.html#isArray">isArray</a></li><li><a href="global.html#isBoolean">isBoolean</a></li><li><a href="global.html#isChrome">isChrome</a></li><li><a href="global.html#isCreated">isCreated</a></li><li><a href="global.html#isDate">isDate</a></li><li><a href="global.html#isDestroyed">isDestroyed</a></li><li><a href="global.html#isDisabled">isDisabled</a></li><li><a href="global.html#isEmpty">isEmpty</a></li><li><a href="global.html#isFunction">isFunction</a></li><li><a href="global.html#isHidden">isHidden</a></li><li><a href="global.html#isLoading">isLoading</a></li><li><a href="global.html#isMobile">isMobile</a></li><li><a href="global.html#isNaN">isNaN</a></li><li><a href="global.html#isNull">isNull</a></li><li><a href="global.html#isNullOrUndefined">isNullOrUndefined</a></li><li><a href="global.html#isNumber">isNumber</a></li><li><a href="global.html#isObject">isObject</a></li><li><a href="global.html#isReady">isReady</a></li><li><a href="global.html#isRendered">isRendered</a></li><li><a href="global.html#isString">isString</a></li><li><a href="global.html#isTrue">isTrue</a></li><li><a href="global.html#isType">isType</a></li><li><a href="global.html#isUndefined">isUndefined</a></li><li><a href="global.html#isView">isView</a></li><li><a href="global.html#isWeChat">isWeChat</a></li><li><a href="global.html#isWeChatApp">isWeChatApp</a></li><li><a href="global.html#itemCls">itemCls</a></li><li><a href="global.html#itemKeyMember">itemKeyMember</a></li><li><a href="global.html#itemLabelWidth">itemLabelWidth</a></li><li><a href="global.html#itemSelectedCls">itemSelectedCls</a></li><li><a href="global.html#itemXtype">itemXtype</a></li><li><a href="global.html#items">items</a></li><li><a href="global.html#jsonFormatter">jsonFormatter</a></li><li><a href="global.html#label">label</a></li><li><a href="global.html#lang">lang</a></li><li><a href="global.html#lastPage">lastPage</a></li><li><a href="global.html#layout">layout</a></li><li><a href="global.html#layoutAuto">layoutAuto</a></li><li><a href="global.html#layoutBorder">layoutBorder</a></li><li><a href="global.html#layoutContent">layoutContent</a></li><li><a href="global.html#layoutHbox">layoutHbox</a></li><li><a href="global.html#layoutItems">layoutItems</a></li><li><a href="global.html#layoutVbox">layoutVbox</a></li><li><a href="global.html#link">link</a></li><li><a href="global.html#listObject">listObject</a></li><li><a href="global.html#listObjects">listObjects</a></li><li><a href="global.html#listService">listService</a></li><li><a href="global.html#listeners">listeners</a></li><li><a href="global.html#load">load</a></li><li><a href="global.html#loadClass">loadClass</a></li><li><a href="global.html#loadCssFile">loadCssFile</a></li><li><a href="global.html#loadCtrlProperty">loadCtrlProperty</a></li><li><a href="global.html#loadData">loadData</a></li><li><a href="global.html#loadDocPages">loadDocPages</a></li><li><a href="global.html#loadFields">loadFields</a></li><li><a href="global.html#loadImage">loadImage</a></li><li><a href="global.html#loadIndex">loadIndex</a></li><li><a href="global.html#loadPlugin">loadPlugin</a></li><li><a href="global.html#loadScriptFile">loadScriptFile</a></li><li><a href="global.html#loadServiceApi">loadServiceApi</a></li><li><a href="global.html#loadServices">loadServices</a></li><li><a href="global.html#loadTemplateFile">loadTemplateFile</a></li><li><a href="global.html#mailTo">mailTo</a></li><li><a href="global.html#makeControl">makeControl</a></li><li><a href="global.html#makeObject">makeObject</a></li><li><a href="global.html#mappingUrl">mappingUrl</a></li><li><a href="global.html#maxLength">maxLength</a></li><li><a href="global.html#maxSize">maxSize</a></li><li><a href="global.html#md5">md5</a></li><li><a href="global.html#messageStyle">messageStyle</a></li><li><a href="global.html#metaInfo">metaInfo</a></li><li><a href="global.html#minSize">minSize</a></li><li><a href="global.html#model">model</a></li><li><a href="global.html#multiple">multiple</a></li><li><a href="global.html#name">name</a></li><li><a href="global.html#navigation">navigation</a></li><li><a href="global.html#newLine">newLine</a></li><li><a href="global.html#newRow">newRow</a></li><li><a href="global.html#next">next</a></li><li><a href="global.html#nextPage">nextPage</a></li><li><a href="global.html#nobr">nobr</a></li><li><a href="global.html#on">on</a></li><li><a href="global.html#onAfterInit">onAfterInit</a></li><li><a href="global.html#onAfterLayout">onAfterLayout</a></li><li><a href="global.html#onAfterRender">onAfterRender</a></li><li><a href="global.html#onAfterShow">onAfterShow</a></li><li><a href="global.html#onBeforeInit">onBeforeInit</a></li><li><a href="global.html#onBeforeLayout">onBeforeLayout</a></li><li><a href="global.html#onBeforeRender">onBeforeRender</a></li><li><a href="global.html#onBeforeShow">onBeforeShow</a></li><li><a href="global.html#onChanged">onChanged</a></li><li><a href="global.html#onPageSizeChanged">onPageSizeChanged</a></li><li><a href="global.html#on_checked">on_checked</a></li><li><a href="global.html#onchange">onchange</a></li><li><a href="global.html#ondelete">ondelete</a></li><li><a href="global.html#onload">onload</a></li><li><a href="global.html#onselect">onselect</a></li><li><a href="global.html#onview">onview</a></li><li><a href="global.html#openDB">openDB</a></li><li><a href="global.html#overflow">overflow</a></li><li><a href="global.html#pageIndexChanged">pageIndexChanged</a></li><li><a href="global.html#pageSizeList">pageSizeList</a></li><li><a href="global.html#page_type_changed">page_type_changed</a></li><li><a href="global.html#panelStyle">panelStyle</a></li><li><a href="global.html#patchButton">patchButton</a></li><li><a href="global.html#post">post</a></li><li><a href="global.html#postFileFromString">postFileFromString</a></li><li><a href="global.html#postFiles">postFiles</a></li><li><a href="global.html#pr_on_changed">pr_on_changed</a></li><li><a href="global.html#pr_rowdblclick">pr_rowdblclick</a></li><li><a href="global.html#previousPage">previousPage</a></li><li><a href="global.html#print">print</a></li><li><a href="global.html#printBorder">printBorder</a></li><li><a href="global.html#printCallStack">printCallStack</a></li><li><a href="global.html#proxy">proxy</a></li><li><a href="global.html#readFile">readFile</a></li><li><a href="global.html#readLocal">readLocal</a></li><li><a href="global.html#readOnly">readOnly</a></li><li><a href="global.html#readSession">readSession</a></li><li><a href="global.html#redirect">redirect</a></li><li><a href="global.html#refresh">refresh</a></li><li><a href="global.html#registerHotKey">registerHotKey</a></li><li><a href="global.html#remove">remove</a></li><li><a href="global.html#removeAll">removeAll</a></li><li><a href="global.html#removeCls">removeCls</a></li><li><a href="global.html#removeItem">removeItem</a></li><li><a href="global.html#removeLocal">removeLocal</a></li><li><a href="global.html#removeSession">removeSession</a></li><li><a href="global.html#renderTo">renderTo</a></li><li><a href="global.html#render_html">render_html</a></li><li><a href="global.html#requestService">requestService</a></li><li><a href="global.html#resetAjaxConfig">resetAjaxConfig</a></li><li><a href="global.html#response">response</a></li><li><a href="global.html#restart">restart</a></li><li><a href="global.html#rowclick">rowclick</a></li><li><a href="global.html#rowdblclick">rowdblclick</a></li><li><a href="global.html#rows">rows</a></li><li><a href="global.html#run">run</a></li><li><a href="global.html#saveAlbum">saveAlbum</a></li><li><a href="global.html#saveHandler">saveHandler</a></li><li><a href="global.html#scale">scale</a></li><li><a href="global.html#scrollCurrentIntoView">scrollCurrentIntoView</a></li><li><a href="global.html#scrollIntoView">scrollIntoView</a></li><li><a href="global.html#searchHandler">searchHandler</a></li><li><a href="global.html#select">select</a></li><li><a href="global.html#selectAll">selectAll</a></li><li><a href="global.html#selectColumn">selectColumn</a></li><li><a href="global.html#selectControl">selectControl</a></li><li><a href="global.html#selectNode">selectNode</a></li><li><a href="global.html#selectPage">selectPage</a></li><li><a href="global.html#selectRow">selectRow</a></li><li><a href="global.html#selected">selected</a></li><li><a href="global.html#selectedOnClick">selectedOnClick</a></li><li><a href="global.html#selectedOnDblClick">selectedOnDblClick</a></li><li><a href="global.html#selectorServices">selectorServices</a></li><li><a href="global.html#services">services</a></li><li><a href="global.html#setAppToken">setAppToken</a></li><li><a href="global.html#setControlProperty">setControlProperty</a></li><li><a href="global.html#setDisabled">setDisabled</a></li><li><a href="global.html#setDocumentIndex">setDocumentIndex</a></li><li><a href="global.html#setDocumentTitle">setDocumentTitle</a></li><li><a href="global.html#setDomToken">setDomToken</a></li><li><a href="global.html#setElAttribute">setElAttribute</a></li><li><a href="global.html#setElStyle">setElStyle</a></li><li><a href="global.html#setGlobalVariable">setGlobalVariable</a></li><li><a href="global.html#setHeaderVisible">setHeaderVisible</a></li><li><a href="global.html#setHref">setHref</a></li><li><a href="global.html#setNewButtons">setNewButtons</a></li><li><a href="global.html#setPageIndex">setPageIndex</a></li><li><a href="global.html#setPaging">setPaging</a></li><li><a href="global.html#setPosition">setPosition</a></li><li><a href="global.html#setSearchColumns">setSearchColumns</a></li><li><a href="global.html#setUrlParam">setUrlParam</a></li><li><a href="global.html#setValue">setValue</a></li><li><a href="global.html#set_data">set_data</a></li><li><a href="global.html#showAlbumsDetail">showAlbumsDetail</a></li><li><a href="global.html#showDialog">showDialog</a></li><li><a href="global.html#showDialogOnLeft">showDialogOnLeft</a></li><li><a href="global.html#showDialogOnRight">showDialogOnRight</a></li><li><a href="global.html#showDropdownBox">showDropdownBox</a></li><li><a href="global.html#showError">showError</a></li><li><a href="global.html#showIndex">showIndex</a></li><li><a href="global.html#showItem">showItem</a></li><li><a href="global.html#showLoading">showLoading</a></li><li><a href="global.html#showModalDialog">showModalDialog</a></li><li><a href="global.html#showModelView">showModelView</a></li><li><a href="global.html#showTip">showTip</a></li><li><a href="global.html#showWaiting">showWaiting</a></li><li><a href="global.html#size">size</a></li><li><a href="global.html#sleep">sleep</a></li><li><a href="global.html#sort">sort</a></li><li><a href="global.html#src">src</a></li><li><a href="global.html#start">start</a></li><li><a href="global.html#statechange">statechange</a></li><li><a href="global.html#stop">stop</a></li><li><a href="global.html#submit">submit</a></li><li><a href="global.html#tabIndex">tabIndex</a></li><li><a href="global.html#templates">templates</a></li><li><a href="global.html#testServerHost">testServerHost</a></li><li><a href="global.html#text">text</a></li><li><a href="global.html#textMember">textMember</a></li><li><a href="global.html#timeout">timeout</a></li><li><a href="global.html#timing">timing</a></li><li><a href="global.html#title">title</a></li><li><a href="global.html#title_format">title_format</a></li><li><a href="global.html#toFormDataString">toFormDataString</a></li><li><a href="global.html#toHtml">toHtml</a></li><li><a href="global.html#toJson">toJson</a></li><li><a href="global.html#toJsonString">toJsonString</a></li><li><a href="global.html#toMultipartFormData">toMultipartFormData</a></li><li><a href="global.html#toPxValue">toPxValue</a></li><li><a href="global.html#toString">toString</a></li><li><a href="global.html#toggle">toggle</a></li><li><a href="global.html#toggleCls">toggleCls</a></li><li><a href="global.html#token">token</a></li><li><a href="global.html#transform">transform</a></li><li><a href="global.html#tree_select_ctrl">tree_select_ctrl</a></li><li><a href="global.html#types">types</a></li><li><a href="global.html#unResize">unResize</a></li><li><a href="global.html#updateObject">updateObject</a></li><li><a href="global.html#updateRow">updateRow</a></li><li><a href="global.html#updateService">updateService</a></li><li><a href="global.html#upload">upload</a></li><li><a href="global.html#uploadComplete">uploadComplete</a></li><li><a href="global.html#uploadProgress">uploadProgress</a></li><li><a href="global.html#uploadStart">uploadStart</a></li><li><a href="global.html#valueMember">valueMember</a></li><li><a href="global.html#viewAllImages">viewAllImages</a></li><li><a href="global.html#viewHandler">viewHandler</a></li><li><a href="global.html#warn">warn</a></li><li><a href="global.html#writeLocal">writeLocal</a></li><li><a href="global.html#writeSession">writeSession</a></li><li><a href="global.html#zoomView">zoomView</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.2</a> on Wed May 10 2023 10:57:22 GMT+0800 (中国标准时间)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
